package main

type Caiyun struct {
	Status     string     `json:status`
	Lang       string     `json:lang`
	Unit       string     `json:unit`
	ServerTime int        `json:server_time`
	Location   [2]float32 `json:location`
	ApiStatus  string     `json:api_status`
	Tzshift    int        `json:tzshift`
	ApiVersion string     `json:api_version`
	Result     *Result
}
type Result struct {
	Primary int    `json:primary`
	Daily   *Daily `json:daily`
}
type Daily struct {
	Status        string            `json:status`
	Temperature   *[1]Temperature   `json:temperature`
	Skycon        *[1]Skycon        `json:skycon`
	Skycon20h32h  *[1]Skycon20h32h  `json:skycon_20h_32h`
	Skycon8h20h   *[1]Skycon8h20h   `json:skycon_08h_20h`
	Cloudrate     *[1]Cloudrate     `json:cloudrate`
	Precipitation *[1]Precipitation `json:precipitation`
	Dswrf         *[1]Dswrf         `json:dswrf`
	Visibility    *[1]Visibility    `json:visibility`
	Humidity      *[1]Humidity      `json:humidity`
	Aqi           *[1]Aqi           `json:aqi`
	Pm25          *[1]Pm25          `json:pm25`
	Ultraviolet   *[1]Ultraviolet   `json:ultraviolet`
	Comfort       *[1]Comfort       `json:comfort`
	Wind          *[1]Wind          `json:wind`
}
type Precipitation struct {
	Max float32 `json:max`
	Avg float32 `json:avg`
	Min float32 `json:min`
}
type Ultraviolet struct {
	Index string `json:index`
	Desc  string `json:desc`
}
type Comfort struct {
	Index string `json:index`
	Desc  string `json:desc`
}
type Wind struct {
	Direction float32 `json:direction`
	Speed     float32 `json:speed`
}
type Skycon20h32h struct {
	Value string `json:value`
}
type Skycon8h20h struct {
	Value string `json:value`
}
type Temperature struct {
	Max float32 `json:max`
	Avg float32 `json:avg`
	Min float32 `json:min`
}
type Dswrf struct {
	Max float32 `json:max`
	Avg float32 `json:avg`
	Min float32 `json:min`
}
type Cloudrate struct {
	Max float32 `json:max`
	Avg float32 `json:avg`
	Min float32 `json:min`
}
type Aqi struct {
	Max float32 `json:max`
	Avg float32 `json:avg`
	Min float32 `json:min`
}
type Skycon struct {
	Value string `json:value`
}
type Visibility struct {
	Max float32 `json:max`
	Avg float32 `json:avg`
	Min float32 `json:min`
}
type Humidity struct {
	Max float32 `json:max`
	Avg float32 `json:avg`
	Min float32 `json:min`
}

type Pm25 struct {
	Max float32 `json:max`
	Avg float32 `json:avg`
	Min float32 `json:min`
}
